Since its inception in 1995, the Java™ programming language has become increasingly popular. (Java™ is a trademark of Sun Microsystems, Inc.) Java, which is an interpreted language, enabled the creation of applications that could be run on a wide variety of platforms. This ability to function across a variety of different client platforms, i.e. platform independence, and Java's relatively easy implementation of network applications has resulted in its use in endeavors as basic as personal webpages to endeavors as complex as large business-to-business enterprise systems.
As Java has become more commonplace, a wide variety of tools and development platforms have been created to assist developers in the creation and implementation of applications and portals using Java or other languages supporting platform independence.
Many of such applications and portals are based around one or more servers that provide, inter alia, application support and control access to resources. It is often desirable to enable third parties to produce custom software modules or plugins that can be inserted into such servers to perform functions that would otherwise be performed by the base software of the server. Server architectures can be designed to enable easy development of plugins for certain features such as security.
However, as the interfaces through which the plugins interact with the server are upgraded, plugins that were designed for previous versions of the interfaces may be rendered incompatible. The process of upgrading the plugins can be time consuming and expensive.
What is needed is an improved interface that allows legacy plugin products to be used with newer plugin interfaces.